package org.abratuhi.kvngroupware.pubsub;

import java.util.List;

public interface SubscriptionStorage<T> {
	
	public void addSubscription(Subscription<T> sub);
	public void removeSubscription(Subscription<T> sub);
	public void removeSubscriptions(String subscriberId);
	public void updateSubscription(Subscription<T> sub);
	public List<Subscription<T>> findSubcriptions(String subscriberId);
	public List<Subscription<T>> findMatchingSubscriptions(Publication<T> pub);

}
